ver.20220515(此为过时旧版,前往仓库wiki查看新版)
A1: 折腾起来没完没了,我已经把部分文件迁移到了GitHub(见更新页的项目仓库),感兴趣可以看看我每次都在瞎改啥...
A2: 你完全没有必要跟着我更新除非有什么重大改变(好不容易改完自己的配置一更新就要从头改你不烦吗hhhhh)。通常你只需要在我某个版本基础上进行你的本地化改造即可,当然在差不多熟练使用mpv后,对你而言懒人包也就失去了存在的意义
A: 先尝试查找 系列手册/ 懒人包内的 mpv.conf /官方手册,不知再询问(当然你也可以先爬楼看看有没有人踩过坑)
A: profiles (即首行 [xxxxxxx]
参数)的上方。具体原因及其它规范可读手册 [02]。(懒人包20210617之后的版本,配置预设组已被分离到单独的文件 profiles.conf )
A: 可以简单的类比成directshow架构播放器里的“视频渲染器”选项。 vo=gpu
是当下几乎完美的选择, gpu-next
的定位是继任者但尚不完善。gpu-next 新增了很多功能(例如杜比视界的基本播放),一些gpu原有的功能表现也不完全一致,具体了解查看 此处
A1: CPU强的变态并且懒得看下面的解释,请无脑软解 hwdec=no
A2: 不玩花活单纯看视频、追求高效省电安静,那么就纯硬解优先 hwdec=auto
。否则软解或者 auto-copy
。(正常情况下无质量差异)
A3: 即使效率高,本人依旧不推荐纯硬解(不复制回系统内存,即 非 xxxx-copy 的模式),使用带复制的硬解 hwdec=auto-copy
是均衡的选择。因为纯硬解不支持大量的滤镜,也可能不支持10bit的完整链路输出,去色带功能在纯硬解下的表现也不稳定。
A1: 懒人包内集成的脚本 cycle_adevice.lua 具有快速快捷键切换设备的功能
A2: 原始的方法 ——
xxxxxxxxxx
11./mpv --audio-device=help
mpv.conf 使用以下参数,强制每次启动时使用的输出设备
xxxxxxxxxx
11audio-device="wasapi/{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
xxxxxxxxxx
11A cycle-values audio-device "wasapi/{bddcc18d-3c9b-4884-abd2-ea5e8e94beb1}" "wasapi/{03ef5a21-304e-4ba8-85d6-808a16295234}"
这样在运行时按 shift + a 就可快速在指定的多设备间切换
A1: (碰到换音轨之后声音卡顿)可能音频独占问题,修改 mpv.conf
xxxxxxxxxx
11audio-exclusive = no
A2: 如果画面加速播放(Display FPS尝试推到极限),音频正常。给mpv单独设置垂直同步开启(如无游戏方面的特殊需求,请全局开启垂直同步)
快速垂直同步不是传统垂直同步、 G-Sync / Free-Sync 最好也一同单独禁用(与 display-resample
的机制冲突)
A3: 检查至少下列1项参数是否正确
xxxxxxxxxx
11hr-seek-framedrop = no
否则在使用VS补帧的时如果调戏进度条,时间轴易发生偏离。
A4: 如果是对动态帧率(VFR)视频进行补帧,甚至可能直接弹出报错框 补帧法应替换为倍帧,或者自行修改补帧脚本vpy(以svpflow脚本为例)
xxxxxxxxxx
11{rate:{num:2,den:1,abs:false}
A5: 类似于开启Madvr中的"Smooth Motion"可能反而卡顿。编辑 mpv.conf 禁用下列参数
xxxxxxxxxx
41
2
3
4
A: 编辑对应补帧脚本 vpy (以svpflow脚本为例,该数值可能需要根据实际情况而定)
xxxxxxxxxx
11gpuid:0 → gpuid:21或11
A1: 建议直接使用它自带的mpv版本补帧
A2: 依旧使用懒人包则按 mpv.conf 内的要求修改相关参数后,删除 vapoursynth64 文件夹。 若依旧存在问题,则完全移除整合的Python和VapourSynth组件(只删除 python.exe 和 VSPipe.exe 和上述的文件夹也行)
A1: 缩略图脚本吃资源,等待全部缩略图建立完成(指针移动到进度条查看);在缩略图建立未完时退出,需要等待相关缩略图进程安全结束。
A2: 禁用缩略图功能,完美解决两个问题,修改 script-opts/thumbnailer.conf
xxxxxxxxxx
21auto_gen = no
2auto_show = no
A1: mpv自带的转码较慢(脚本的实现方案不完美,实际上生成缩略图是在进行一个近乎完整的转码过程) 使用FFMPEG可稍微提速; 修改 script-opts/thumbnailer.conf 中的参数降低缩略图生成的数量
x1exec_path = C:/xxxxxx/ # 使用绝对路径指向 ffmpeg.exe 所在的文件夹
2
3thumbnail_count = ...
4min_delta = ...
5max_delta = ...
A2: 偶尔存在临时文件错误生成在当前路径的情况,这是缩略图脚本的bug 如需完全移除该脚本,按照以下操作实施 删去 thumbnailer.lua ; osc_lazy.lua ; thumbnailer_worker.lua ; thumbnailer.conf ; osc_lazy.conf 这几个文件 然后编辑 mpv.conf 中的参数来恢复内建的界面
xxxxxxxxxx
11
A1: 统计信息第二页 ( shift +) i → 2 ;打开控制台 ` 查看是否有报错信息
A2: 部分缩放着色器存在最小触发倍率限制,见 系列手册 [01] 内的说明
A: Gamma曲线1886的问题,见 mpv.conf 的滤镜区,预激活对应的伽马修正滤镜。(或者使用 mpv.conf 中预设的快捷键方案灵活开关)
xxxxxxxxxx
11vf-append = format=gamma=gamma2.2
A: 可能是bug10新增的奇葩功能导致(关闭以解决)
A1: 不要迷信独占全屏(并没有什么巨大的优势加成,而且很依赖驱动的稳定性)
xxxxxxxxxx
21d3d11-exclusive-fs = no
2
A2: 头铁就要用独占全屏,那么就修改 mpv.conf 中的以下参数(防止可能的冻屏问题)
xxxxxxxxxx
21d3d11-flip = no # 当 --gpu-context=d3d11 时
2angle-flip = no # 当 --gpu-context=angle 时(你真的要使用OpenGL吗)
A1: 对于 vo=gpu
,不太建议(Nvidia的驱动bug),这种强烈的需求可替换为mpc系的播放器配合mpcvr甚至madvr
A2: 强行使用,先注释掉 profiles.conf 中自带的 [H2S-DTM]
条件配置,尝试修改 mpv.conf
xxxxxxxxxx
41d3d11-output-csp = pq # 这个参数目前不支持条件配置,写在通用区
2
3
4
再打开mpv主程序,进入全屏模式后加载视频文件
如果你的显示设备能自动切换到HDR模式,恭喜你没有bug可以正常观看hdr视频。否则手动打开win10的 OS HDR 选项,但通常这个选择较差不如显卡的hdr api。
此外,参数 d3d11-output-csp=pq
会影响sdr视频的正常颜色显示(慎用:目前此参数还不支持 auto_profiles 自动触发)
A3: 对于实验性的 vo=gpu-next
,先注释掉 profiles.conf 中自带的 [H2S-DTM]
条件配置,再尝试新增一个条件配置
xxxxxxxxxx
61[HDR-direct]
2profile-cond=p["video-params/gamma"] == "pq"
3profile-restore=copy
4target-colorspace-hint=yes
5target-trc=pq
6target-peak=1000 # 目标峰值亮度应以你的显示器实际为准
A0: 这个问题随着 libass release 0.16.0 的发布已基本解决,懒人包2020515也不应存在此问题,如果你使用的是更旧的版本,请查看 A1&2 的解决方案。
A1: 本质上是libass和vsfilter的默认缩放逻辑差异(也许是ASS的规范差异?参考这个issue),可以手动修改规范化字幕文件本身解决
xxxxxxxxxx
81[Script Info]
2...
3PlayResX: ...
4PlayResY: ...
5ScaledBorderAndShadow: yes
6
7[V4+ Styles]
8...
ScaledBorderAndShadow
的赋值由你的偏好决定, yes
即一起缩放边框阴影。
这个现象只在旧版libass中存在,目前已经自动尝试修复。
A2: 或者修改 mpv.conf 中的字幕vsfilter相关部分
xxxxxxxxxx
41sub-ass-force-style = ScaledBorderAndShadow = no # 直接在参数中强制统一样式(慎用:影响所有ass字幕)
2
3sub-ass-vsfilter-aspect-compat = no # 模拟vsfilter的错误行为
4sub-ass-vsfilter-blur-compat = no # 部分特效字幕存在错位的拉伸
A1: 查看你的任务管理,掉帧时是否单个核心(线程)满载。没有完美的解决办法,理论上的最佳音视频同步模式会触发这个问题。因此注释掉 mpv.conf 中的相关参数,代价是可能由于显示器刷新率不匹配产生judder、无法使用 --interpolation
和 --tscale
算法
xxxxxxxxxx
11
A2: 或者不用上述方案,启用另一项参数。带来的限制是字幕被限制在视频帧内(此时在黑边渲染字幕的功能失效)
xxxxxxxxxx
11blend-subtitles = video
A3: 遇上特效丧心病狂的字幕,你可以选择新增快捷键,临时切换为禁用ASS的特效(即类似实时转srt)
xxxxxxxxxx
11F1 cycle-values sub-ass-override "yes" "strip"
A: (具体表现为播放5.1声轨的片源声音很小)在 mpv.conf 中加入以下参数强制执行(如果本来正常则不需要)
xxxxxxxxxx
21ad-lavc-downmix = yes
2audio-channels = stereo
A: 使用填充16:9的黑边滤镜。可直接使用 input.conf 中的预设键位,或者在控制台执行下列命令
xxxxxxxxxx
11vf toggle pad=aspect=16/9:x=-1:y=-1
A: 确定文件没有损坏的前提下,可能是压制者使用了老旧的错误的x264编码器(一般的画面表现见图示)。
使用 --vd-lavc-assume-old-x264=yes
可以解决这个问题,但是不建议常驻这个设置,可能影响其它正常的AVC视频的播放,所以优化方案是多快捷键联合
xxxxxxxxxx
21F3 cycle vd-lavc-assume-old-x264
2CTRL+h cycle-values hwdec no yes
先执行切换 vd-lavc-assume-old-x264
到 yes
,然后再执行解码模式的更改来刷新画面,使上一行的操作实际生效。
A: watch-later-options
这个针对的是保存被播放文件的状态而不是播放器自身的状态,当前它可以接受存储以下选项/属性
xxxxxxxxxx
51osd-level,speed,edition,pause,volume,mute,audio-delay,fullscreen,ontop,border,
2gamma,brightness,contrast,saturation,hue,
3deinterlace,vf,af,panscan,aid,vid,
4sid,sub-delay,sub-speed,sub-pos,sub-visibility,sub-scale,sub-use-margins,sub-ass-force-margins,sub-ass-vsfilter-aspect-compat,sub-ass-override,
5ab-loop-a,ab-loop-b,video-aspect-override
...